
/**
 * AppleIIGo
 * SDL Interface
 * (C) 2007-2008 by Marc S. Ressl (mressl@umich.edu)
 * Released under the GPL
 */

#import "SDL/SDL.h"

#define EMULATOR_CHARACTERSET_DEFAULT	(1 << 3)

typedef enum {
	EMULATOR_CHARACTERSET_US,
	EMULATOR_CHARACTERSET_UK,
	EMULATOR_CHARACTERSET_FR,
	EMULATOR_CHARACTERSET_DK,
	EMULATOR_CHARACTERSET_ES,
	EMULATOR_CHARACTERSET_IT,
	EMULATOR_CHARACTERSET_DE,
	EMULATOR_CHARACTERSET_SE,
};

/*
//#define EMULATOR_DISKIMAGE_OK				0
//#define EMULATOR_DISKIMAGE_INVALID			1
//#define EMULATOR_DISKIMAGE_NODEVICE			2
// "No connected device could open the disk image"
*/

#define EMULATOR_COPYBUFFER_SIZE		(81 * 24 + 1)

void emulatorSetAudioVolume(float value);
void emulatorSetVideoFullscreen(unsigned int value);
void emulatorSetVideoCharacterSet(unsigned int value);

void emulatorSetPause(unsigned int value);
void emulatorSendReset();
void emulatorSendRestart();

unsigned int emulatorMount(char * diskImagePath, unsigned int driveIndex);
void emulatorUnmount(unsigned int mountIndex);
void emulatorGetMountName(unsigned int mountIndex,
						  char * buffer,
						  unsigned int bufferSize);

unsigned int emulatorIsCopyAvailable();
void emulatorCopy(char * buffer, unsigned int bufferSize);
void emulatorPaste(char * buffer);

int emulatorRun(int argc, char * argv[]);
